With the advent of cloud computing, network based applications are increasingly hosted by multiple servers, each performing different portions of an end-to-end application functionality. Given the heterogeneity of computational resources and traffic in the cloud, the performance of each of the functions on multiple servers in a given chain of functions becomes a probabilistic event whose outcome is not deterministic. Accordingly, end-to-end performance of application functionality (e.g., latency) becomes a random variable that is difficult to predict. Some approaches request the application developer or application user to specify this resource allocation information for each function instance, detracting from a server-less experience for the application user and the application developer. Moreover, cloud platforms as designed today do not offer performance guarantees beyond statistically significant information, which is typically insufficient for an accurate operation to meet end-to-end/overall performance goals.
In the figures, elements and steps denoted by the same or similar reference numerals are associated with the same or similar elements and steps, unless indicated otherwise.